<template>
  <div :id="id" class="chart" @click="handleClick">

  </div>
</template>
<script>
export default  {
  data() {
    return {
      chart: null
    }
  },
  props: {
    id: {
      type: String,
      default: ''
    }
  },
  methods: {
    init() {
      if(this.chart) {
        this.chart.dispose()
      }
      this.chart = this.$echarts.init(document.getElementById(this.id));
      let option = {
        title: {
          text: '折线图',
          textStyle: {
            color: '#fff', // 字体颜色
            fontSize: 16, // 字体大小
            fontFamily: 'Arial', // 字体家族，可选
            fontWeight: 'bold', // 字体粗细，可选
          }
        },
        tooltip: {
          trigger: 'axis'
        },
        /*legend: {
          data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
        },*/
        grid: {
          left: 0,
          right: 0,
          bottom: 0,
          top: '20%',
          containLabel: true
        },
        xAxis: {
          type: 'category',
          boundaryGap: false,
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
          axisLine: {
            lineStyle: {
              color: '#fff' // 设置y轴颜色为绿色
            }
          }

        },
        yAxis: {
          type: 'value',
          axisLine: {
            lineStyle: {
              color: '#fff' // 设置y轴颜色为绿色
            }
          }
        },
        series: [
          {
            name: 'Email',
            type: 'line',
            stack: 'Total',
            data: [120, 132, 101, 134, 90, 230, 210]
          },
          {
            name: 'Union Ads',
            type: 'line',
            stack: 'Total',
            data: [220, 182, 191, 234, 290, 330, 310]
          },
          {
            name: 'Video Ads',
            type: 'line',
            stack: 'Total',
            data: [150, 232, 201, 154, 190, 330, 410]
          },
          {
            name: 'Direct',
            type: 'line',
            stack: 'Total',
            data: [320, 332, 301, 334, 390, 330, 320]
          },
          {
            name: 'Search Engine',
            type: 'line',
            stack: 'Total',
            data: [820, 932, 901, 934, 1290, 1330, 1320]
          }
        ]
      };

      this.chart.setOption(option)
    },
    handleClick() {
      this.$emit('click')
    },
  },
  mounted() {
    setTimeout(() => {
      this.init()
    }, 1000)
  }
}
</script>
<style scoped lang="less" >
.chart {
  width: 100%;
  height: 100%;
}
</style>
